package gui;

import javax.swing.JPanel;
import javax.swing.JLabel;
import java.awt.Font;

import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JComboBox;
import javax.swing.DefaultComboBoxModel;
import java.awt.Color;
import javax.swing.UIManager;
import java.awt.SystemColor;
import javax.swing.JButton;

import classes.Aluno;
import classes.Endereco;
import classes.Funcionario;
import classes.RepositorioAluno;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class CadastrarAluno extends JPanel {
	private JTextField textNomeAluno;
	private JTextField textCpfAluno;
	private JTextField textDataNascimentoAluno;
	private JTextField textTelefoneContatoAluno;
	private JTextField textNomeUsuarioAluno;
	private JTextField textRuaAluno;
	private JTextField textBairroAluno;
	private JTextField textCidadeAluno;
	private JTextField textNumeroAluno;
	private JTextField textSenhaAluno;
	private JTextField textCepAluno;
	private JButton btnCancelarAluno;
	private JButton btnSalvarAluno;
	
	private static CadastrarAluno instance;

	private void limparCampos(){
		
		textNomeAluno.setText("");
		textCpfAluno.setText("");
		textDataNascimentoAluno.setText("");
		textTelefoneContatoAluno.setText("");
		textNomeUsuarioAluno.setText("");
		textRuaAluno.setText("");
		textBairroAluno.setText("");
		textCidadeAluno.setText("");
		textNumeroAluno.setText("");
		textSenhaAluno.setText("");
		textCepAluno.setText("");
		
		}
	
	public static CadastrarAluno getInstance(){
		
		if(instance == null){
			instance = new CadastrarAluno();
		}
		
		return instance;
	}
	
	
	public CadastrarAluno() {
		//setBackground(SystemColor.control);
		setLayout(null);

		JLabel cadastroAluno = new JLabel("Cadastrar Aluno");
		cadastroAluno.setFont(new Font("Arial", Font.PLAIN, 20));
		cadastroAluno.setBounds(10, 11, 244, 25);
		add(cadastroAluno);

		textNomeAluno = new JTextField();
		textNomeAluno.setBounds(172, 144, 226, 20);
		add(textNomeAluno);
		textNomeAluno.setColumns(10);

		textCpfAluno = new JTextField();
		textCpfAluno.setBounds(172, 175, 141, 20);
		add(textCpfAluno);
		textCpfAluno.setColumns(10);

		JLabel nomeAluno = new JLabel("Nome");
		nomeAluno.setFont(new Font("Arial", Font.PLAIN, 14));
		nomeAluno.setBounds(10, 141, 58, 25);
		add(nomeAluno);

		JLabel cpfAluno = new JLabel("CPF");
		cpfAluno.setFont(new Font("Arial", Font.PLAIN, 14));
		cpfAluno.setBounds(10, 172, 58, 25);
		add(cpfAluno);

		JLabel dataNascimentoAluno = new JLabel("Data de Nascimento");
		dataNascimentoAluno.setFont(new Font("Arial", Font.PLAIN, 14));
		dataNascimentoAluno.setBounds(10, 208, 133, 25);
		add(dataNascimentoAluno);

		textDataNascimentoAluno = new JTextField();
		textDataNascimentoAluno.setColumns(10);
		textDataNascimentoAluno.setBounds(172, 211, 141, 20);
		add(textDataNascimentoAluno);

		textTelefoneContatoAluno = new JTextField();
		textTelefoneContatoAluno.setColumns(10);
		textTelefoneContatoAluno.setBounds(172, 242, 141, 20);
		add(textTelefoneContatoAluno);

		JLabel telefoneContatoAluno = new JLabel("Telefone para Contato");
		telefoneContatoAluno.setFont(new Font("Arial", Font.PLAIN, 14));
		telefoneContatoAluno.setBounds(10, 239, 158, 25);
		add(telefoneContatoAluno);

		JLabel nomeUsuarioAluno = new JLabel("Nome de Usuário");
		nomeUsuarioAluno.setFont(new Font("Arial", Font.PLAIN, 14));
		nomeUsuarioAluno.setBounds(10, 273, 133, 25);
		add(nomeUsuarioAluno);

		textNomeUsuarioAluno = new JTextField();
		textNomeUsuarioAluno.setColumns(10);
		textNomeUsuarioAluno.setBounds(172, 273, 141, 20);
		add(textNomeUsuarioAluno);

		textRuaAluno = new JTextField();
		textRuaAluno.setColumns(10);
		textRuaAluno.setBounds(571, 144, 199, 20);
		add(textRuaAluno);

		textBairroAluno = new JTextField();
		textBairroAluno.setColumns(10);
		textBairroAluno.setBounds(571, 175, 199, 20);
		add(textBairroAluno);

		textCidadeAluno = new JTextField();
		textCidadeAluno.setColumns(10);
		textCidadeAluno.setBounds(571, 211, 141, 20);
		add(textCidadeAluno);

		textNumeroAluno = new JTextField();
		textNumeroAluno.setColumns(10);
		textNumeroAluno.setBounds(571, 242, 141, 20);
		add(textNumeroAluno);

		JLabel enderecoCompleto = new JLabel("Endereço Completo");
		enderecoCompleto.setFont(new Font("Arial", Font.BOLD, 15));
		enderecoCompleto.setBounds(459, 98, 141, 25);
		add(enderecoCompleto);

		JLabel ruaAluno = new JLabel("Rua");
		ruaAluno.setFont(new Font("Arial", Font.PLAIN, 14));
		ruaAluno.setBounds(459, 141, 58, 25);
		add(ruaAluno);

		JLabel bairroAluno = new JLabel("Bairro");
		bairroAluno.setFont(new Font("Arial", Font.PLAIN, 14));
		bairroAluno.setBounds(459, 172, 58, 25);
		add(bairroAluno);

		JLabel cidadeAluno = new JLabel("Cidade");
		cidadeAluno.setFont(new Font("Arial", Font.PLAIN, 14));
		cidadeAluno.setBounds(459, 208, 58, 25);
		add(cidadeAluno);

		JLabel numeroAluno = new JLabel("Número");
		numeroAluno.setFont(new Font("Arial", Font.PLAIN, 14));
		numeroAluno.setBounds(459, 239, 58, 25);
		add(numeroAluno);

		JLabel cepAluno = new JLabel("CEP");
		cepAluno.setFont(new Font("Arial", Font.PLAIN, 14));
		cepAluno.setBounds(459, 273, 58, 25);
		add(cepAluno);

		textSenhaAluno = new JTextField();
		textSenhaAluno.setColumns(10);
		textSenhaAluno.setBounds(172, 304, 141, 20);
		add(textSenhaAluno);

		JLabel senhaAluno = new JLabel("Senha");
		senhaAluno.setFont(new Font("Arial", Font.PLAIN, 14));
		senhaAluno.setBounds(10, 301, 58, 25);
		add(senhaAluno);

		textCepAluno = new JTextField();
		textCepAluno.setColumns(10);
		textCepAluno.setBounds(571, 276, 141, 20);
		add(textCepAluno);

		JLabel acessoDados = new JLabel("Dados de Acesso");
		acessoDados.setFont(new Font("Arial", Font.BOLD, 15));
		acessoDados.setBounds(10, 98, 141, 25);
		add(acessoDados);

		btnSalvarAluno = new JButton("Confirmar");
		btnSalvarAluno.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				
				String rua = textRuaAluno.getText();
				String bairro = textBairroAluno.getText();
				String cidade = textCidadeAluno.getText();
				String numero = textNumeroAluno.getText();
				String cep = textCepAluno.getText();
				
				
				//chamadas objetos dados de acesso
				String nome = textNomeAluno.getText();
				String cpf = textCpfAluno.getText();
				String dataNascimento = textDataNascimentoAluno.getText();
				String telefone = textTelefoneContatoAluno.getText();
				String nomeUsuario = textNomeUsuarioAluno.getText();
				String senha = textSenhaAluno.getText();
				
		
				Endereco endereco= new Endereco(rua, bairro, cidade, numero, cep);
				Aluno novoAluno = new Aluno(nome, cpf, dataNascimento, telefone, nomeUsuario, senha, endereco);

				
				RepositorioAluno.getInstancia().cadastrar(novoAluno);
				JOptionPane.showMessageDialog(null, "O aluno foi cadastrado com sucesso!");
				limparCampos();
				
				//Pra utilizar a busca pelo indice.
				/*
				String nomeAluno="Maria";
				Aluno aluno;
				int indice;
				
				indice=RepositorioAluno.getInstancia().buscarNome(nomeAluno);
				
				aluno=RepositorioAluno.getInstancia().retornarAluno(indice);
				*/

			}
		});
		btnSalvarAluno.setBounds(554, 411, 106, 23);
		add(btnSalvarAluno);

		btnCancelarAluno = new JButton("Cancelar");
		btnCancelarAluno.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				
				//setVisible(true);
				
			}

			
		});
		btnCancelarAluno.setBounds(670, 411, 89, 23);
		add(btnCancelarAluno);







	}
}
